Methods and systems for secure information storage and delivery

ABSTRACT

A group definition is received via a network interface. Communications are transmitted to destinations, the communications comprising an invitation to associate with the a content sharing group. Authentication data associated with users that accept the invention is encrypted. The accepting users are associated with the content sharing group. A content gallery definition is received. A communication is received that the content gallery is to be shared with the content sharing group. The content gallery is caused to be instantiated on devices of users associated with the group. A content request for the content sharing group is received and the content request is transmitted accordingly to users associated with the group. A content item is received in response the request and the content item is transmitted to user devices associated with the group and enabled to appear in instantiations of the content gallery on the user devices.

INCORPORATION BY REFERENCE TO ANY PRIORITY APPLICATIONS

Any and all applications for which a foreign or domestic priority claimis identified in the Application Data Sheet as filed with the presentapplication, are hereby incorporated by reference in their entiretyunder 37 CFR 1.57.

BACKGROUND OF THE INVENTION Field of the Invention

The present invention is related to media collection, processing, anddistribution.

Description of the Related Art

As the use of camera-equipped phones has proliferated, the sharing ofphotographs and videos have become an ever more important form of socialengagement. However, conventional techniques for sharing photographs andvideos fail to provide a secure, well-defined and recurring system forusers to instantly distribute and share their photographs.

SUMMARY

The following presents a simplified summary of one or more aspects inorder to provide a basic understanding of such aspects. This summary isnot an extensive overview of all contemplated aspects, and is intendedto neither identify key or critical elements of all aspects nordelineate the scope of any or all aspects. Its sole purpose is topresent some concepts of one or more aspects in a simplified form as aprelude to the more detailed description that is presented later.

An aspect of the present disclosure relates to systems and processesthat enable users to share information and content over a network. Suchshared information and content may be instantly distributed over one ormore distribution channels and platforms to one or more user devices.The content may also be securely stored in a repository. The userdevices may host instantiations of a content sharing application. Thecontent sharing application may be used to capture and/or uploadcontent, such as still or video images, to the secure repository. Thecontent sharing application may be used to receive (e.g., download)content, such as still or video images/photographs, from the securerepository and may render such content. The user devices may selectivelystore certain galleries received from the secure repository. Optionally,in response to the secure repository detecting that new gallery contenthas been received, a notification may be transmitted to devices of userswith whom the gallery has been shared. Optionally, the notification mayinclude a deep link to the gallery so users can immediately see whatcontent has been added to the gallery. When the user selects thenotification, the content sharing application may use the link to accessthe corresponding gallery on the remote secure repository, and thenrender the gallery content items, including the new content. Optionally,new content will be presented first in the displayed gallery (e.g., intimestamp order). Optionally, a visual indicator (e.g., a colored dot orother emphasis) may be rendered on user devices in association withcontent items that have been newly added since the last time the userhas viewed the gallery. Optionally, instead or in addition, the securerepository content galleries may be selectively synchronized with thegalleries stored on the user devices. Such synchronization may beperformed in real time as new content is added to the secure repositorycontent galleries.

An aspect of this disclosure relates to optionally and selectivelyperforming content synchronization to reduce network and processorbandwidth usage.

An aspect of this disclosure relates to the optional performance of realtime automatic synchronization of content and galleries across largenumbers of systems and devices.

An aspect of this disclosure relates to secure encryption of sensitivedata.

An aspect of this disclosure relates to user interfaces configured tomake efficient use of display space in presenting data and configured toreduce or minimize accidental user selections.

An aspect of the present disclosure relates to a system for securecontent storage and delivery, the secure content storage and deliverysystem comprising: a computer system comprising one or more computingdevices; a network interface; and a computer storage system comprising anon-transitory storage device, said computer storage system havingstored thereon executable program instructions that direct the computersystem to at least: receive via the network interface, from a firstdevice associated with a first entity, a first group definition; receivevia the network interface, from a second device associated with a secondentity, a second group definition; transmit via the network interface afirst plurality of invitations to a respective first plurality ofdestinations, the first plurality of invitations comprising aninvitation to associate with the first group; transmit via the networkinterface a second plurality of invitations to a respective secondplurality of destinations, the second plurality of invitationscomprising an invitation to associate with the second group; receive viathe network interface one or more acceptances from users that received afirst group invitation; encrypt one or more items of data associatedwith users that accepted the first group invitation, wherein at least aportion of the encrypted data associated with users that accepted thefirst group invitation is used to authenticate corresponding users thataccepted the first group invitation in a subsequent interaction;associate users from whom first group invitation acceptances werereceived with the first group; receive via the network interface one ormore acceptances from users that received a second group invitation;encrypt one or more items of data associated with users that acceptedthe second group invitation, wherein at least a portion of the encrypteddata associated with users that accepted the second group invitation isused to authenticate corresponding users that accepted the second groupinvitation in a subsequent interaction; associate users from whom secondgroup invitation acceptances were received with the second group;receive, via the network interface, from the first entity a firstcontent gallery definition; receive, via the network interface, from thefirst entity an indication that the first content gallery is to beshared with the first group; cause the first content gallery to beinstantiated on devices of users associated with the first group;receive, via the network interface, from the first entity a firstcontent request for the first group; transmit, via the networkinterface, the first content request to users associated with the firstgroup; receive, via the network interface, from a first user associatedwith the first group, a first item of content and associated metadataprovided in response to the first content request; transcode the firstitem of content from a first size to a second size; cause the transcodedfirst item of content to be transmitted to users associated with thefirst group and to appear in instantiations of the first gallery ondevices; receive, via the network interface, from the second entity asecond content gallery definition; receive, via the network interface,from the second entity an indication that the second content gallery isto be shared with the second group; cause the second content gallery tobe instantiated on devices of users associated with the second group;receive, via the network interface, from the second entity a secondcontent request for the second group; transmit, via the networkinterface, the second content request to users associated with thesecond group; receive, via the network interface, from a second userassociated with the second group, a second item of content andassociated metadata provided in response to the second content request;transcode the second item of content from a second size to a secondsize; and automatically cause the transcoded second item of content tobe transmitted to users associated with the second group and to appearin instantiations of the second gallery on devices.

An aspect of the present disclosure relates to a non-transitory storagemedia having stored thereon executable program instructions configuredto direct a computer system to perform operations comprising: receive aninvitation to join a first content sharing group; detect a user actioncorresponding to acceptance of the invitation to join the first contentsharing group; at least partly in response to the detected user actioncorresponding to acceptance of the invitation to join the first contentsharing group, cause an acceptance indication to be transmitted to aremote secure content storage and delivery system; in response to aninstruction from the remote secure content storage and delivery system,cause a first content gallery to be instantiated on the computer system;enable a thumbnail of an image included in the first content gallery tobe rendered as a representation of the first content gallery; enable atitle of the first content gallery received from the remote securecontent storage and delivery system to be rendered in association withthe representation of the first content gallery; enable a number to berendered in association with the representation of the first contentgallery, the number corresponding to a quantity of content itemsincluded in the first content gallery; receive a new content item inassociation with an indication that the new content item is associatedwith the first content gallery; enable an updated number to be renderedin association with the representation of the first content gallery, theupdated number reflecting the association of the new content item withthe first content gallery; receive a user selection of therepresentation of the first content gallery; in response to the userselection of the representation of the first content gallery, causecontent items, including the new content item, associated with the firstcontent gallery to be rendered; receive a content request from theremote secure content storage and delivery system; cause the contentrequest from the remote secure content storage and delivery system to berendered; receive a user provided content item, wherein the userprovided content item is provided in response to the displayed contentrequest; and cause the user provided content item to be transmitted inassociation with an identification of the content request.

An aspect of the present disclosure relates to a computer implementedmethod comprising: receiving, over a wireless network at a first userdevice, an invitation to join a first content sharing group; detecting,using a content sharing application installed on the first user device,a user action corresponding to acceptance of the invitation to join thefirst content sharing group; at least partly in response to the detecteduser action corresponding to acceptance of the invitation to join thefirst content sharing group, causing, by the content sharingapplication, an acceptance indication to be transmitted to a remotesystem; in response to an instruction from the remote system, causing afirst content gallery, using the content sharing application installedon the first user device, to be instantiated on the first user device;enabling, using the content sharing application installed on the firstuser device, a version of an image included in the first content galleryto be rendered as a representation of the first content gallery;enabling, using the content sharing application installed on the firstuser device, a title of the first content gallery received from theremote system to be rendered in association with the representation ofthe first content gallery; enabling, using the content sharingapplication installed on the first user device, a number to be renderedin association with the representation of the first content gallery, thenumber corresponding to a quantity of content items included in thefirst content gallery; receiving, using the content sharing applicationinstalled on the first user device, a new content item in associationwith an indication that the new content item is associated with thefirst content gallery; enabling, using the content sharing applicationinstalled on the first user device, an updated number to be rendered inassociation with the representation of the first content gallery, theupdated number reflecting the association of the new content item withthe first content gallery; receiving, using the content sharingapplication installed on the first user device, a user selection of therepresentation of the first content gallery; in response to the userselection of the representation of the first content gallery, causingcontent items, including the new content item, associated with the firstcontent gallery to be rendered; receiving, using the content sharingapplication installed on the first user device, a content request fromthe remote system; causing, using the content sharing applicationinstalled on the first user device, the content request from the remotesystem to be rendered; receiving, using the content sharing applicationinstalled on the first user device, a user provided content item,wherein the user provided content item is provided in response to thedisplayed content request; and causing, using the content sharingapplication installed on the first user device, the user providedcontent item to be transmitted in association with an identification ofthe content request.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments will now be described with reference to the drawingssummarized below. These drawings and the associated description areprovided to illustrate example embodiments, and not to limit the scopeof the invention.

FIG. 1 illustrates an example networked environment.

FIG. 2A illustrates an example content distribution and secure storagesystem architecture.

FIG. 2A1 illustrates an example data schema.

FIG. 2B illustrates an example user system architecture.

FIGS. 3-5 illustrate example processes.

FIGS. 6A-6D illustrate example user interfaces.

FIGS. 7A-7J illustrate additional example user interfaces.

DETAILED DESCRIPTION

As similarly discussed above, as the use of camera-equipped phones andother mobile personal computing devices have proliferated, the sharingof photographs and videos have become an ever more important form ofcommunication and social engagement. However, conventional techniquesfor sharing photographs and videos fail to provide a secure,well-defined and recurring process or system for users to instantly,securely distribute and share their photographs and videos in atransparent manner. Further, conventional techniques fail to adequatelyenable users to selectively share galleries of multiple items ofcontent. Still further, conventional techniques fail to adequatelyprovide easy-to-use content sharing interfaces. Yet further,conventional techniques fail to adequately enable the sharing of contentacross chained social networks.

Systems and methods are described herein that enable users to shareinformation and content (e.g., audio, video, and/or text content),organize information and content, and search for information and contentwithin one or more secure content repositories. Such shared informationand content may be shared by users using content sharing applicationshosted on user devices (e.g., mobile devices, such as smart cellularphones, tablet computers, laptop computers, wearables; desktopcomputers; smart televisions, game consoles, and/or other media storagedevices; virtual desktops hosted on cloud-based system; and/or thelike).

For example, a user may define a plurality of image galleries (whichinclude still image/photograph files, gif files, video files, etc.) viaa corresponding user interface. The gallery may optionally be maintainedon a cloud-based system. The user may specify, on gallery-by-gallerybasis, other users (e.g., defined sets of users or individual users)with whom a given gallery is to be shared.

Copies of some or all of the galleries may be selectively stored on adevice of the user that controls the galleries, and/or on may be storedon the devices of those with whom the user is sharing the galleries(e.g., automatically or in response to a manual download command).Optionally, the content size/resolution of a given content item may bedown sampled from the original size/resolution to a differentsize/resolution (e.g., a lower resolution), and a down sampled versionmay be provided to one or more devices as part of the sharing process.Optionally, a given content item may be transcoded from a first encodingto a second encoding (e.g., to make it more efficient to transmit or tobe decoded). As noted above, user devices may include mobile computerdevices (e.g., smart phones, tablet computers, laptop computers,wearable devices, and/or the like), desktop computers, smarttelevisions, game consoles, virtual desktops hosted on cloud-basedsystem, and/or other media storage devices.

Certain example content sharing scenarios will now be described. Acontent requesting entity (e.g., a company or brand, or someone actingon their behalf) may, via a web application or a content sharingapplication hosted on a content requesting entity device, invitecommunity members to contribute content (e.g., photographs, video,audio, and/or text content) regarding a specified subject matter. By wayof illustration, if the content requesting entity is responsible for aproduct brand or service brand, the content requesting entity mayrequest specified types of content (e.g., photographs, video, audio,and/or text content) regarding their experiences with the brand'sproducts or services. The request may be provided via a textual message(optionally including images and/or sound content) transmitted to a userdevice. By way of further illustration, if the content requesting entityis associated with a sport team, the content requesting entity mayrequest specified types of content regarding the team, a player on theteam, or regarding a specific sporting event/game. By way of stillfurther illustration, if the content requesting entity is associatedwith an entertainment entity or entertainment project (e.g., a movie,sound recording, a photograph, etc.), the content requesting entity mayrequest specified types of content regarding the team or regarding theentertainment entity or entertainment project.

The content request may be received from the content requesting entityat a content distribution and secure storage system, which may thenroute the request to devices of the members of the community.

For example, the content request may be transmitted by the contentdistribution and secure storage system to and displayed viainstantiations of a content sharing application hosted on respectivemember devices. A given member may generate and record the requestedcontent (e.g., using a camera, microphone, and/or keyboard on the memberdevice). The content may optionally be automatically associated with agallery specified by the request. The content may be transmitted by thecontent sharing application to the content requesting entity (e.g., viathe content distribution and secure storage system).

When the requested content is received from community members at thecontent distribution and secure storage system, the content distributionand secure storage system may transmit a notification indicating thatthe content was received to the application hosted on the contentrequesting entity's device. The application may in turn provide a visualand/or audio notification of the receipt of the requested. In additionor instead, the notification may be provided via a webpage, email, SMSmessage, or otherwise.

The requesting entity may then access, via a corresponding interface,the requested content. Optionally, the requested content is downloadedfrom the content distribution and secure storage system to therequesting entity device (e.g., in response to a manual user downloadinstructions or automatically). Optionally, some or all of thedownloaded content (e.g., image content) is downloaded at alower-than-received-resolution to reduce the amount of network bandwidthneeded to store the requested content on the requesting entity deviceand to reduce the memory on the requesting entity device needed to storethe downloaded requested content. Optionally, when the requesting entityselects an item of downloaded content (e.g., by pointing at our touchcontent as displayed on the requesting entity device), a request for ahigher resolution version (e.g., the resolution of the requested contentas originally received by the content distribution and secure storagesystem) is automatically transmitted from the content distribution andsecure storage system. The higher resolution version may then bedownloaded and/or streamed to the requesting entity device.

The content requesting entity may review the low and/or high resolutionversions of the content. The content requesting entity may provide realtime feedback to the member that provided the content, specifying anydesired content revisions through a messaging interface of theapplication on the requesting entity device. The feedback may betransmitted to the member device and displayed via the applicationhosted on the member device. In addition, the content requesting entitymay organize content received from members (optionally in associationwith requester-created content) into content asset galleries (e.g., ofvideos, photographs, text, etc.). The content asset galleries may beorganized by subject, content contributor, date, and/or otherwise. Thecontent asset galleries may optionally be automatically updated in realtime as new content is received using metadata associated with the newcontent.

The content requesting entity may approve the content via acorresponding approval user interface and share the content (e.g.,specified asset galleries and/or specified individual items of content)directly with the community and/or via one or more content distributionchannels. For example, the content requesting entity may specify, via acorresponding user interface, which gallery is to be shared with whichindividual community members or sets of community members. When thereceived content is added to a gallery, the update to gallery may beautomatically synchronized to the selected community members/membersets, optionally in real time (e.g., so that when the communitymembers/member sets access their devices they will be able toimmediately view the new gallery content via the applications hosted ontheir devices). Optionally, when new content is added to a gallery, anotification may be automatically transmitted to devices of users withwhom the gallery has been shared. Optionally, the notification mayinclude a link to the updated gallery. When a user selects thenotification via the user device (e.g., by tapping or clicking on thenotification), a content sharing application hosted on the user devicemay use the link to access the corresponding gallery on the remotesecure repository, and then present the gallery, including the newcontent. Optionally, the gallery content is not stored in non-volatilememory on the user device, and is instead only stored in volatile memorythereby reducing usage of the non-volatile memory. Optionally, ratherthan sharing entire content galleries, the content requesting entity mayshare individual items of content with selected members (e.g., on anitem by item basis).

The distribution channels may include a variety of content sharingplatforms, such as microblogs, social networking platforms, imagesharing platforms, and/or the like. Optionally, prior to sharing thecontent, the content requesting entity may edit the received content,crop the content, color correct the content, rotate the content, extractportions of the content, add logos to the content, add graphic stamps tothe content, add animations to the content, add notes, add metadata,and/or the like, save the modified content, and then distribute thecontent. For example, web-based or content sharing application editingcontrols may be provided via corresponding user interfaces that enablethe foregoing edit-types to be performed, and the resulting editedcontent to be stored in memory.

In addition, the content requesting entity may also transmit requests tothe community members (via the content sharing applications installed onrespective community devices) to share the member-created content orcontent provided by the content requesting entity with the members'social network, via one or more specified or un-specified distributionchannels (e.g., microblogs, social networking platforms, image sharingplatforms, and/or the like). Thus, content may be shared quickly overchained social networks (wherein a given member may act as a linkbetween the member's social network and the social network of a personin the member's social network) in a mesh matter, advantageouslyenabling content to be distributed to large number of users and userdevices at high speed.

The content distribution and secure storage system may interface withand access a digital asset management (DAM) system of a given entity,and distribute content assets stored on the DAM.

Thus, community member-provided content and/or content provided by anentity (e.g., a sport, entertainment, and/or brand entity) may bedistributed over networks in real time or near real time by the entityand/or community members associated with the entity. Such real time ornear real time distribution may be used to provide community members(e.g., fans) with frequent, current perspectives on topics and entitiesof interest.

A search user interface may be provided enabling a user to search fordesired content. The search may specify all or part of a gallery name,metadata (e.g., notes) associated with content, a time or time periodassociated with content creation, time or time period associated withcontent sharing, a community named, a content contributor name, and/orother search filter conditions. A search engine may receive the searchquery and filter conditions, identify matching galleries or content, andrender the corresponding matching gallery thumbnails or contentthumbnails in a search results list (which may be in a grid format) onthe user device.

Optionally, the content distribution and secure storage system maygenerate analytics regarding the sharing of content so that the resultsof the content may be viewed and understood. The analytic data mayinclude data received from the content sharing applications on userdevices and from platforms via which content was shared or re-shared.For example, an application installed on a user device may transmit inreal time an indication to the content distribution and secure storagesystem each time an item of content is viewed or shared via theapplication. The indication may include an identifier associated withthe content item and an identifier associated with the platform/channelused to share the content item.

For example, the content distribution and secure storage system maytrack and report the number of content sharing requests made by anentity, the number of content items shared (e.g., by individuals and/orby a set of individuals), the date and time an item of content wasshared, the platform via which an item of content was shared, the numberof events associated with the shared content (e.g., views, clicks on,re-sharing, etc.), the shared content (or a link thereto), total socialevents, and/or other information. Filter controls may be providedwherein the user may instruct the system to filter the data presented tothe entity user via the user interface. For example, a time filter, ashares filter, a media-type filter, and/or platform filters are providedthat enable a user to specify for what time period, what type of shares,what type of shared media (e.g., videos, still images, text, etc.), andfor what platforms (e.g., FACEBOOK, TWITTER, INSTAGRAM, SNAPCHAT,REDDIT, etc.) the data should be shown.

The analytic data may be updated and distributed in real time to one ormore designated destinations/users each time an indication is receivedthat a content item has been shared or acted on.

Certain aspects of the disclosure will now be discussed with referenceto the figures.

Referring to FIG. 1, an example content distribution and secure storagesystem 100 may communicate over a network 101 with a plurality of userdevices 102-1 . . . 102-N and with a plurality of user devices 104-1 . .. 104-N. The content distribution and secure storage system 100 mayinteract with the user devices via a client-server configuration. Thecontent distribution and secure storage system 100 may comprise a hostedcomputing environment that includes a collection of physical computingresources that may be remotely accessible and may be rapidly provisionedas needed (sometimes referred to as a “cloud” computing environment).The content distribution and secure storage system 100 may also includea secure data store. The secure data store is optionally a hostedstorage environment that includes a collection of physical data storagedevices that may be remotely accessible and may be rapidly provisionedas needed (sometimes referred to as “cloud” storage).

The plurality of user devices 102-1 . . . 102-N and 104-1 . . . 104-Nmay include standalone computers (e.g., desktop, laptop, tablet, smartphone, smart television, wearable (e.g., a camera equipped watch,eyeglasses, item of clothing, etc.), or other computer device), acentralized computer system, or a cloud computing system. The userdevices 102-1 . . . 102-N may be associated with users that providecontent (e.g., still images, video images, audio content, text content,and/or the like) to a content requesting entity and/or to other contentsharing platforms. User devices 104-1 . . . 104-N may be associated withusers that access the content provided by the users of the user devices102-1 . . . 102-N or by the entity. Of course, a given user and userdevice may be a provider of content and also a recipient of content.

One or more content sharing platforms 106-1, 106-2 . . . 106-N maycommunicate over the network 101 with the content distribution andsecure storage system 100 and the plurality of user devices 102-1 . . .102-N and 104-1 . . . 104-N. Content may be shared by the contentdistribution and secure storage system 100 and by user devices 102-1 . .. 102-N and 104-1 . . . 104-N to the content sharing platforms 106-1,106-2 . . . 106-N. The content sharing platforms 106-1, 106-2 . . .106-N may transmit posting or action data to the content distributionand secure storage system 100, which enables the content distributionand secure storage system 100 to generate and present analytic data asdiscussed elsewhere herein.

FIG. 2A illustrates an example architecture of the content distributionand secure storage system 100. The example content distribution andsecure storage system 100 may include some or all of the following: aninvitation service 204A, an authentication service 206A, a gallerymanagement service 208A, a synchronization service 210A, anencryption/decryption service 212A, an analytic service 218A, a searchservice 220A, a processing unit 214A (which may include one or morecomputer processor devices), and a data store 202A.

The data store 202A may include one or more databases. A given databasemay be a relational database (e.g., an SQL database) or a non-relationaldatabase (a nonSQL database, such as NoSQL). For example, a relationaldatabase may advantageously use the same uniform language (e.g., DDL)for different user roles (developer, user, administrator, etc.), may usea standardized language for different relational database managementsystems, may use an advanced and non-structural querying language, andmay comply with ACID principles (atomicity, consistency, isolation,durability), thus ensuring stability, security, and predictability bothof the entire database and each transaction. A nonSQL database may beused rather than an SQL database as it better scales out horizontallyacross distributed systems and so can handle a large number oftransactions (e.g., millions of transactions at a time). Further, anonSQL database may be schema-free and so better utilized withunstructured and semi-structured data. Thus the selection of thedatabase technology may be based on the particular use scenario (e.g.,the need for stability and uniformity offered by SQL databases v. Theneed to process large amounts of unstructured and semi-structured dataas provided by a nonSQL database).

The data store 202A may include a galleries data store 222A that maystore content. The content may be logically ordered as galleries. Agiven item of content may be included in more than one gallery (e.g., bystoring gallery pointers in the content metadata, or by storing contentpointers in the gallery metadata). A given gallery may be associatedwith and controlled by an entity. For example, a company may haveseparate galleries for each entity brand. Each brand may have separategalleries for each product in a brand. By way of further example, asports league may have different galleries for each team, and a team mayhave galleries for each player and for each game. A given gallery may beorganized to include sub-galleries. Thus, there may be a hierarchy ofgalleries, enabling content to be quickly located and reducing thepossibility of the wrong content being inadvertently shared. Contentmetadata may optionally be stored separately from the content itself.For example, the content may be stored on a cloud-based memory system,and the content metadata may be stored locally or on a different systemwith a pointer to the corresponding content stored on the cloud-basedmemory system.

For example, with reference to FIG. 1A1, metadata for a given contentitem may be stored in the data store 222A with the following metadata:

a content ID—a unique identifier of the content item (e.g., generated bythe system 100 and assigned to the content item);

a content contributor ID—a unique identifier of the user who providedthe content item (e.g., uploaded the content item to the system 100);

a content requester identifier (e.g., the entity/company that requestedor owns the content item);

a timestamp (e.g., of when the content item was created and/or when thecontent item was uploaded);

a content item type (e.g. image, photograph, gif, video, graphic, text,and/or the like);

a content item category—an indication was to whether the content itemwas: uploaded in response to a specific content request; provided by theuser but not in response to a specific request; provided via an entityDAM system;

approval status—an indication as to whether the content item has beenreviewed and approved by an authorized entity for further distribution(e.g., company administrator, a contributor manager, etc.);

a caption—a user-provided description of caption context of the content(e.g., provided by the user when uploading the content item);

a title—a field used for internal management of content (e.g.,auto-populated with source file name for bulk uploads or imports fromanother file system);

notes—a field used for internal management of content;

a content item reference—reference to source image and/or video file(e.g., a point, link, etc.)

a content quality category—indication as to the content quality category(e.g., low quality, medium quality, high quality transcoded versions ofthe content item)

content request text—request/prompt or reference to request/prompt towhich the content item was uploaded as a response

a replyTo content identifier—reference to a content identifier ofanother content item to which the current content item was uploaded orotherwise provided as a response

The data store 202A may include a routing instructions/rules data store224A that may store a given entity's instructions as to which galleriesare to be shared with which users and/or sets/communities of users. Therouting instructions may also specify which galleries are to be sharedwith which content sharing platforms (e.g., microblogs, socialnetworking platforms, image sharing platforms, and/or the like). Therouting instructions may also specify when a gallery (or a galleryupdate) is to be shared. For example, a routing instruction may specifythat a gallery update is to be shared in real time with correspondingsets of users. By way of further example, a routing instruction mayspecify that a gallery update is to be shared at specific dates and/ortimes. The routing instructions may also specify in which geographicalareas a gallery or gallery update is to be shared. For example, if thegallery relates to an event (e.g., a concert or a fair), optionally thegallery is shared with members that are present and/or live in thegeographical area of the event (e.g., the same city, the same zip code,the same state, etc.). For example, a member's geographical area may bedetermined based on location information expressly provided by themember (e.g., during registration) and/or by location data (e.g.,determined based on GPS radio data, cell phone data, WiFi data) providedby the member device.

The data store 202A may include an account data store 226A that maystore a given entity's contact information, password, content sharinghistory, analytics, and/or other data. In addition, the account datastore may store account records for users that have the content sharingapplication downloaded to and installed on their devices. For example, auser account record may store a user identifier, a user password, and ora unique identifier associated with the instantiation of the contentsharing application stored on the user device. The user account recordmay store a user email address, mobile phone number (SMS address),physical address, and/or other user data.

To enhance security and reduce the possibility of successful hacking andimproper access to user data, the password may be stored in memory usinga uni-directional hash (e.g., SHA512) using a combined system and uniqueuser salt. When a user attempts to login (e.g., using a UserID/emailaddress and password) to access the user's account or service, thesystem 100 may perform the account lookup for authentication by hashingthe password supplied during login and comparing the hashed passwordagainst the stored value.

Other user information, such as user contact information (e.g., emailaddress, SMS/mobile phone address, etc.) may be encrypted with acombined system and unique user salt, with the result hash data stored.Such contact information may be accessed and decrypted when sendingnotifications to the user.

The invitation service 204A may be configured to send out an invitation(as instructed by an entity) to one or more users to join a designatedcommunity. The invitation may be sent to the content sharing applicationinstalled on the users' devices, via email, via text message, orotherwise. If a user accepts the invitation (e.g., by activating aninvitation acceptance control presented via the content sharingapplication, by selecting an invitation acceptance link in theinvitation, by entering a code (e.g., an alphanumeric code included inthe invitation into a corresponding user interface field, or otherwise),the acceptance is received by the invitation service 204A, and a recordis stored indicating that the accepting user is to be assigned to thedesignated community. Of course, a user may be a member of more thancommunity of more than one entity. Thus, a given user may receivemultiple invitations from different entities.

The authentication service 206A authenticates users accessing the system100 (e.g., an entity that issues content requests, users thatupload/stream content to the system 100, users that download/accesscontent stored on the system).

The optional synchronization service 210A may optionally be configuredto handle various exception conditions. For example, the synchronizationservice 210A may be configured to detect when a user device is offline,and in response to detecting that the user device is offline, mayattempt to perform content synchronization with the user device atspecified intervals or time periods. By way of further example, thesynchronization service 210A may be configured to detect when asynchronization process with a user device is interrupted and whichcontent items were synchronized with the user device prior to thesynchronization interruption, and in response to detecting that thesynchronization interruption, attempt to complete the contentsynchronization (e.g., with only the not-yet synchronized content) withthe user device at specified intervals or time periods. By optionallykeeping track of the what content has and has not yet been synchronizedwith a given user device, the synchronization service 210A avoidswasteful utilization of network bandwidth and processor resources byavoiding re-synchronizing already synchronized content. Optionally,instead of or in addition to the foregoing error handling processes, ifthe application on the user device detects that its communication hasbeen interrupted (e.g., because there is no network available and/or ifall available network bandwidth has been consumed), the application mayrender an error message indicating the content is not available becauseof a communication failure, and instructing the user to refresh theapplication content viewer when the user device has a network (e.g.,Internet) connection. If gallery content has not been downloaded to theuser device and there is no network access, the user device will notdisplay gallery content.

The analytic service 218 may analyze various types of data and generatedata providing insights into the type of content that is popular,shared, viewed, acted on, as well as insight as to which users or setsof users are popular, sharers, viewers, etc. The following types ofexample information may be tracked and reported.

-   -   The number and types of content requests (e.g., requests for        photographs, videos, audio, and/or text content) made to a        defined community/group of users.    -   the number and types of content requests made to a given        individual user.    -   the number and types of content items (e.g., photographs,        videos, audio, and/or text content items) provided by a defined        community/group of users.    -   the number and types of content items provided by a given        individual user.    -   the number and types of content items shared by a defined        community/group of users and the content sharing platforms        (e.g., microblogs, social networking platforms, image sharing        platforms, and/or the like) used to share respective content        items.    -   the number and types of content items shared by a given user and        the content sharing platforms (e.g., microblogs, social        networking platforms, image sharing platforms, and/or the like)        used to share respective content items.    -   the number and types of interactions (e.g., views, clicks,        re-sharing, likes, dislikes, favorite indications, comments,        detail expand commands, and/or the like) of a given content item        and the via which the interactions were received.    -   the demographics (age, gender, education level, income, and/or        the like) of those who interacted with a content item (e.g.,        optionally as determined from account records and/or social        graphs accessed from content sharing platforms; optionally        instead, no social graph data is accessed from third party        systems).    -   the interests (e.g., in sports teams, players, actors, movies,        plays, amusement parks, and/or the like) of those who interacted        with a content item (e.g., as determined from account records or        social graphs accessed from content sharing platforms).    -   an identification of which types of viewers (e.g., based on        interests and/or demographics) most often interact with a given        type or source of content.    -   an indication as to whether viewers interacted with a given item        of content via a dedicated application (e.g., a mobile device        app) associated with the content sharing platform or via a web        browser.    -   the number of comments mentioning an item of content via a        platform.    -   an identification of which posting of a content item received        the most interactions of a given type and/or an identification        of the user that made the posting.    -   an identification as to the number of followers or friends a        given content item poster has.    -   the ratio of content views divided by other content        interactions.

FIG. 2B illustrates an example user device architecture (which maycorrespond to user device 102 and/or user device 104). The user devicemay include a variety of sensors (e.g., sound, image (e.g., cameras),orientation, pressure, light, acceleration, and/or other sensors)configured to detect user input and interaction with the user device, aswell as the local environment. For example, the user device may includea touch screen 224B configured to display user interfaces and data andconfigured to receive user input via touch. The user device may includea physical keyboard. The user device may include a mouse or otherpointing device. The user device may include one or more microphones220B to receive and record voice data and/or to receive commands, andone or more speakers 216B to play audible content. Thus, for example,the user inputs described herein may be received via touch, a mouseclick, a voice command, or otherwise. The user device may include one ormore cameras 212B configured to capture, record, and/or stream video(and/or still image) data (which may be stored or streamed inassociation with captured audio data) to other systems, such as thesystem 100. For example, a camera 212B may be a front or rear facingcamera of a phone or other mobile device, a PC/laptop webcam, or otherimage capture device. A given user device may include or be configuredwith media players that enable the user device to play video and/oraudio content, and display still images.

The user device may include one or more accelerometers/gryometers 218Bthat measures acceleration in 2 or 3 directions, and/or that measuresorientation in 2 or 3 axes. The user device may include a tilt sensor220B that detects user device tilt. The user device may include locationservices 222B that detects and report the current location of the userdevice. For example, the location services 222B may include and/orutilize a global navigation satellite system (GNSS) radio (e.g., a GPS,GLONASS, BeiDou, and/or Galileo GNSS) radios, a cell tower triangulationsystem, the WiFi location service system, or other system configured todetermine and report the device location.

The user device may include one or more wireless communicationinterfaces 226B. For example, the user device may include a cellularradio, a WiFi modem, a Bluetooth modem, a NFC interface, and/or otherwireless interface. The user device may include one or more processingdevices 210B which may include code (e.g., module code) to perform thevarious operations described herein.

The user device may include a content repository 228B which may includecontent received or shared via a content sharing application 201B.

The content sharing application 201B may include some of all of thefollowing modules: a content receiving module 202B, a gallery managementmodule 204B, a content editor module, 205B, an encryption/decryptionmodule 206B, a content transmission module 208B, and a content editingmodule 209B. The content receiving module 202B may be configured toreceive content from the content distribution and secure storage system100. The content receiving module 202B may generate a visual and/oraudible notification in response to detecting the receipt of content.The visual notification may be presented on a home screen of the userdevice operating system, on the user device lock screen, and/or by auser interface of the content sharing application 201B (e.g., when thecontent sharing application 201B is open and being viewed). The gallerymanagement module 204B is configured to cause the received content to bedisplayed in the appropriate content gallery. The content editor module205B provides a user interface including content editing controls thatenables the user to crop the content, color correct the content, rotatethe content, extract portions of the content, add logos to the content,add graphic stamps to the content, add animations to the content, addnotes, add metadata, and/or the like. The encryption/decryption module206B may be used to encrypt and/or decrypt content items received by thecontent receiving module 202B, transmitted by the application 201B,and/or stored in the content repository 228B.

FIG. 3 illustrates an example process of capturing, storing, and sharingcontent items (e.g., wherein the content items may include one or moreof the following content types: still images/photographs, gif files,videos (optionally with audio tracks), audio files, etc.). The processmay be executed in whole or in part by a user device (e.g., using acontent sharing application executing thereon). At block 302, content iscaptured. For example, content may be captured via one or more userdevice sensors (e.g., a camera, a microphone, etc.). At block 304, usinga content sharing application hosted on the user device, the user mayview the content and add the content to one or more existing contentgalleries and/or newly created content galleries (which may haveassociated titles and organizing themes, such as event type, people inthe content, location of content capture, etc.). The user may alsoenter, via user interface fields, various data related to the content,such as a caption, comments, and/or the like.

At block 306, the gallery assignment may be stored in association withthe content. At block 308, other metadata may be stored in associationwith the content. For example, the metadata may include related dataprovided by the user (e.g., caption, comments, etc.), an identifier ofthe galleries to which the content has been assigned, a contentidentifier generated by the content sharing application, an identifierassociated with the user, an identifier associated with a requester ofthe content item, a creation timestamp, a content type indicator, acontent category indicator, content resolution data (e.g., in pixels),request text from a request for the content, a content identifier ofanother content item to which the current content item was uploaded orotherwise provided as a response, and/or other metadata. At bock 310,the content sharing application initiates a transmission of the contentand/or associated metadata to a destination. For example, the contentand metadata may be transmitted to the content distribution and securestorage system discussed elsewhere herein and/or to a separate cloudstorage system. The transmission may be performed in real time inresponse to detecting the new content, as part of a periodicsynchronization process, in response to a request by the contentdistribution and secure storage system, in response to a manual usercommand (e.g., activation of an upload control), and/or in response toother events.

Optionally, if the size of a content item to be uploaded is determinedby the content sharing application to be greater than a specifiedthreshold, the content sharing application hosted on the user devicewill automatically down sample the content item to generate a smallerfile, and the down sampled content item may be uploaded to therebyreduce network utilization for uploading the content item, and to reducememory storage needed for the content item. Optionally, if the userdevice detects that there is no network access available, the contentsharing application may queue (e.g., in memory) one or more items ofcontent that are designated for uploading. Once the user device detectsthat there is network access available, the content sharing applicationmay cause the queued content to be uploaded.

FIG. 4 illustrates an example process of receiving content from userdevices and synchronizing the received content with user devices. Theprocess may be executed in whole or in part by the content distributionand secure storage system. At block 402, content and content metadata isreceived from a given user device. For example, the content and contentmetadata may be received using a content sharing application hosted onthe user device as similarly described above with respect to FIG. 3. Thecontent and content metadata may be pulled from the user device (e.g.,the content distribution and secure storage system may request contentas part of a synchronization process), or the content and contentmetadata may be pushed by the user device (where the user device mayinitiate the content and content metadata transmission in response toone or more events as described above with reference to FIG. 3).

At block 403, metadata and/or content may optionally be encrypted. Forexample, personally identifying information (e.g., a contentcontributor's name, email address, phone number, geolocation data,and/or other personal information that may be stored) may be encryptedwhile optionally other metadata (e.g., the content identifier) may notbe encrypted. Optionally, all metadata or no metadata is encrypted.Similarly, content may be optionally be selectively encrypted. Forexample, content that includes a face (e.g., as determined using a facedetection engine, such as an engine that implements Eigen-facetechniques or a genetic algorithm) may be encrypted while other contentmay not be encrypted. Optionally, all content or no content isencrypted. By way of example, metadata image content and other contentmay be encrypted using a symmetric encryption algorithm, such asAdvanced Encryption Standard (e.g., AES-128, AES-192, AES-256.).Optionally, a block cypher may be used for encryption (e.g., utilizingmultiple keys). Optionally, RSA may be used for encryption.

At block 404, the process accesses and/or generates additional metadata.For example, the additional metadata may include metadata describedherein with respect to the example data schema illustrated in FIG. 2A1,such as a unique ID, a received timestamp, a quality category indicator,and/or other metadata described herein. By way of further example, someof the metadata may be received from a system user (e.g., anadministrator) via respective user interface fields, such as approvalindicators, notes, title, and/or other system user provided data.

At block 406, the received content, the received content metadata, andthe system generated content metadata are stored in memory (e.g., inencrypted or non-encrypted form as appropriate). Optionally, a link tothe content may be stored on one system (optionally with contentmetadata), and the content itself (optionally with content metadata) maybe stored on a another (e.g., remote) system.

At block 408, routing and synchronization rules may be accessed from aninstructions/rules store. For example, as described elsewhere hereinrouting instructions/rules store may store instructions/rules as towhich galleries are to be shared with which users and/or sets of users,and whether the sharing to be performed on a push basis or on a pull(on-demand) basis. The routing instructions may also specify whichgalleries are to be shared via which content sharing platforms (e.g.,microblogs, social networking platforms, image sharing platforms, and/orthe like). The routing instructions may additionally specify when agallery (or a gallery update) is to be shared and synchronized with userdevices. For example, a routing instruction may specify that a galleryupdate is to be shared in real time with corresponding sets of users. Byway of further example, a routing instruction may specify that a galleryupdate is to be shared at specific dates and/or times. A routinginstruction may specify that a gallery update is to be shared on anon-demand basis (e.g., in response to a user opening a content sharingapplication or activating a refresh control which causes a contentupdate request to be transmitted to the system). The routinginstructions may also specify in which geographical areas (e.g., zipcode, area code, city, state, GPS coordinates, venue, etc.) a gallery orgallery update is to be shared. For example, if the gallery relates toan event (e.g., a concert or a fair), optionally the gallery is sharedwith members that are present and/or live in the geographical area ofthe event (e.g., the same city, the same zip code, the same state,etc.).

If the routing and synchronization rules indicate that the content is tobe shared on a push basis, then at block 410, the process determineswhich user devices/applications are online and available to receive thecontent. For example, the process may determine if a user device isonline by pinging the user device or by determining if a heartbeatsignal is being received. If the content is being shared on a pullbasis, the process may limit sharing to those devices (e.g., viarespective content sharing applications) have requested content updates.

At block 412, the received content and selected portions of the metadatamay be downloaded to and synchronized (e.g., over a wireless network)with content repositories on the user devices identified at block 410.Optionally, when the process detects that new content is added to agallery, a notification may be transmitted over a network to devices ofusers with whom the gallery has been shared. The notification mayinclude a link to the gallery. When a user selects the notification, acontent sharing application hosted on the user device may use the linkto access the corresponding gallery on the remote secure repository, andthen present the gallery, including the new content.

Optionally, the content may have been down sampled to lower thanoriginal resolution (e.g., to thumbnail resolution) before beingdownloaded to the user device. Optionally, multiple versions of a givencontent item may be generated via transcoding (from one encoding to adifferent encoding) and down sampling, and then downloaded to the userdevice. For example, a high resolution version and thumbnail version maybe generated and downloaded to the user device.

The content metadata may be filtered prior to transmission to the userdevice based on one or more metadata sharing rules. For example, themetadata sharing rules may filter out the content contributor ID, thecontent requester, the timestamp, the content item type, the contentitem category, the approval status, the user provided caption, thetitle, notes, content quality category, content request text, and/orother metadata discussed herein. Such filtering may inhibit thetransmission of certain content, thereby reducing network utilization.

For example, if another user adds a photograph to a content gallery(e.g., a gallery hosted on a cloud based storage system), optionally thecontent distribution and secure storage system may automaticallysynchronize the gallery update (in accordance with any filterconditions) or provide the entire gallery in response to a notificationlink activation in real time to user devices that have access to thegallery so that the new content and updates to the gallery data (e.g.,the number of content items in the gallery) is provided to the users.

FIG. 5 illustrates an example process of receiving content items (e.g.,from the process described above with respect to FIG. 4) over a network.The process may be executed in whole or in part by a user device (e.g.,using a content sharing application executing thereon). At block 502,the user device receives content and associated content metadata (e.g.,from a content distribution and secure storage system). For example, thecontent may be pushed by the content distribution and secure storagesystem as part of a synchronization process, or the content may havebeen requested by the user device in response to a user opening acontent sharing application or activating a refresh control which causesa content update request to be transmitted to the content distributionand secure storage system. By way of further example, the content may berequested by the user device in response to the user activatingnotification indicating that there is new gallery content available. Thecontent metadata may include metadata indicating what gallery orgalleries the content is associated with, and may include a timestamp.Optionally, the content may be received at relatively low resolution(e.g., thumbnail size, such as 75×75 pixels, 200×200 pixels, etc.).Optionally, the content may be received in multiple versions (e.g., atrelatively low resolution and at relatively high resolution).

At block 504, the content and some or all of the content metadata isstored in local user device memory (e.g., a content repository). Atblock 506, If the content sharing application has a galleries userinterface displayed, the galleries user interface may display thumbnailsof representative images of respective galleries, with a given thumbnailannotated to show how many content items are associated with thegallery. The annotations (examples of which are described elsewhereherein) associated with the galleries may be updated in real time toindicate how many content items are now associated with the respectivegalleries as a result of the received content. Optionally, a new contentindicator may be presented in association with a gallery thumbnail toindicate that the gallery contains content that the user has not yetviewed.

At block 508, a user selection of a gallery may be received (e.g., bythe user touching or clicking on a corresponding gallery thumbnail). Atblock 510, the selected gallery may be “opened” and the associatedcontent items (e.g., images) displayed via a scrollable user interface.The content items may be rendered at relatively low resolution (e.g., asthumbnails). Optionally, new content items may be visually flagged(e.g., using an icon, frame, or other emphasis) by the content sharingapplication when rendered. For example, optionally each time the contentsharing application is opened, or a gallery therein, an access timestampis recorded. Each time the sharing application is opened, or a gallerytherein, the previous access timestamp may be compared against eachgallery content item timestamp. Each content item timestamp that islater than the previous access timestamp may be visually flagged by thecontent sharing application as a new content item so the user mayquickly identify the new content.

At block 512, a user selection of a content item is received. At block514, the selected content item is rendered at higher resolution (e.g.,full screen). The higher resolution version of the content item may beaccessed from local memory or it may be accessed from the contentdistribution and secure storage system.

Certain example user interfaces will now be described with reference tothe figures. The user interfaces may optionally be specificallyconfigured to be served by a web server for display via a web browserhosted on a user device, or the user interfaces may be presented via adedicated application (e.g., the content sharing application discussedherein) hosted on a user device. The user interfaces may optionally bespecifically be configured to be displayed and utilized via a relativelysmall touch-enabled display (e.g., a smart phone or tablet touchdisplay), or to be displayed and utilized via a relatively large display(e.g., a laptop, desktop, or television display, which may or may not betouch-enabled).

FIG. 6A illustrates an example galleries user interface, which may berendered via a relatively large screen device (e.g., a laptop, desktop,network television, and/or the like). The user interface may be renderedby a content sharing application hosted on a user device or may beaccessed as a webpage from a web server. The galleries user interfacemay display thumbnails of representative images from the respectivegalleries in a grid view. A given gallery thumbnail may be annotatedwith text and graphics indicating the gallery title, the number ofvideos contained in the gallery, the number of still images contained inthe gallery, the number of users that submitted content in the gallery,and/or the number of users with whom the gallery is being shared. Someor all of the annotations may be rendered as overlays on the respectivegallery thumbnails. Thus, a great deal of information is displayed in acompact area, while still being easily readable, and without risking auser mis-associating a given item of information with a given gallery.

Still referring to FIG. 6A, A sort control is provided via which theuser may request a different arrangement/sort of the galleries (e.g., bydate created, alphabetically, largest to smallest (e.g., where the sizeis based on the number of content items in the gallery), smallest tolargest, most user contributors to least user contributors, least usercontributors to most user contributors, largest user set to smallestuser set being shared with, smallest user set to largest user set beingshared with, etc.). A search field is provided via which the user canenter one or more text search terms. The search query may be transmittedto a search engine which will compare the search terms to metadataassociated with galleries and/or gallery content, identify matches, andprovide search results (e.g., including names and/or images of matchinggalleries and/or content).

FIG. 6B illustrates an example galleries user interface, similar to thatin FIG. 6A, with the galleries displayed in list form. Some or all ofthe annotations described above with respect to FIG. 6B may be displayedin separate columns. For example, a gallery name may be displayed in agallery name column. A gallery description may be displayed in adescription column. A created column may indicate the day/time thegallery was created and the name/identifier of the user that created thegallery. The number of users a given gallery is being shared with isdisplayed in a sharing column. The number of content items in a givengallery may be displayed in an assets column.

FIG. 6C illustrates an example gallery details user interface, which maybe displayed in response to a user selecting a gallery via the userinterfaces illustrated in FIG. 6A or FIG. 6B. The user interface maydisplay content included in the gallery. Filter controls may be providedenabling the user to specify filter conditions. For example, drop downmenus may be provided listing events, content types, and approvalstatus. A control may be provided enabling the user to specify whetherpreviously viewed content items should or should not be included. Inresponse to the filter conditions, the user interface may filter thedisplayed content items to those items that match the user-specifiedfilter conditions. A sort control is provided via which the user canspecify the sort order of the content items (e.g., by date received, bydate shared, alphabetically, etc.). The top right of the user interfacemay display the number of each type of content item and the number ofusers the gallery is being shared with.

FIG. 6D illustrates an example galleries user interface configured to berendered on a relatively small touch-enabled display (e.g., of a mobilephone or tablet computer). The user interface may display gallerythumbnails with a reduced set of annotations relative to the userinterface illustrated in FIG. 6A. For example, optionally theannotations may indicate the total number of content items in a gallerywithout distinguishing between still and video content items. Inaddition, to enhance privacy, the annotations may not include thegallery creator name. A search field is provided, as similarly discussedabove, which may be used to receive a search query. For example, thesearch query may be provided to a search engine which may locatecorresponding content item galleries, content items, and/or content itemcontributors. The search results be provided by the search engine andrendered on the user device. Optionally and advantageously, the userinterface and the displayed data/content may be automatically updated asnew content is added to one of the displayed galleries by other users.For example, if another user adds a photograph to one of the gallerieshosted on a cloud-based storage system, the content distribution andsecure storage system may detect the addition and automaticallysynchronize the update in real time with user devices that havepermitted access to the galleries.

As discussed elsewhere herein, an invitation may be sent to a user tojoin a designated community. The invitation may be sent to the contentsharing application installed on the users' devices, via email, via textmessage, or otherwise. The invitation may include a unique invitationcode. The user interface illustrated in FIG. 7A (which may be presentedby a content sharing application on the user device) includes a fieldconfigured to receive the invitation code. If the user enters the codeinto the field, the code may be transmitted to the content distributionand secure storage system, which may assign the user to thecorresponding content sharing community and store such assignment in auser account record.

The user interface illustrated in FIG. 7B has fields configured toreceive user data (e.g., name, password, email address, SMSaddress/phone number, etc.) used to set up a user account and associatedaccount record.

FIG. 7C illustrates an example social sharing analytics user interfacepresenting information accessed by the content distribution and securestorage system from its own content sharing and interaction records, aswell as from records accessed via application programming interfacesfrom one or more third party systems (e.g., social network platformsystems or other content sharing platforms). For example, certain datamay be tracked by scrapping data various networked resources, such ascontent sharing platforms (e.g., social network sites, image sharingplatforms, etc.).

The user interface includes a social sharing table including thefollowing columns for a different content item:

-   -   asset/link (which may display content items or content item        links);    -   contributor (which includes a contributor name/identifier);    -   date (date of content creation or upload);    -   action (e.g., the social network platform via which the content        item was shared);    -   social events (number of social events relating to the content,        such as number of shares, views, likes, plays, etc.);    -   link (a link, such as a URL, to the content), with link edit and        content view controls    -   details.

A total/aggregated social events number may be reported via the userinterface for all of the content items.

Filter controls may be provided (e.g., via drop down menus) via whichthe user can have the system filter the sharing data displayed by thecontent sharing table. For example, the filter may enable the user tospecify a time period (e.g., all time, previous month, previous day,current day, a specified start-end period, etc.), the types of shares,the types of content media shares, and the sharing platforms (e.g.,FACEBOOK, TWITTER, INSTAGRAM, SNAPCHAT, etc.) for which data is to bereported (thereby more efficiently using display real estate).

A search field may be provided via which the user can search for contentshare data for a given content item by name.

A menu on the left provides access to other user interfaces, such as arequest content user interface, a share content user interface, anetwork user interface, a content requests user interface (whichprovides a list of existing content requests), the content shares userinterface, a content library user interface, a content approval userinterface, a content contributor messaging user interface, a brandinguser interface, and a configuration user interface. This menu may beincluded in each of the foregoing user interfaces to provide quick andreliable access to a desired user interface.

FIG. 7D illustrates an example content downloads analytics userinterface presenting information regarding the download of content. Theuser interface displays various content items, the name/identifier ofthe content contributor, the number of times each content item has beendownloaded from the system to user devices, the number of times thecontent item has been shared (e.g., via one or more social networkingplatforms or other content sharing platforms), and when the content itemwas last downloaded and/or shared. A search field is provided via whicha user may submit a content search query.

FIG. 7E illustrates an example group/community definition and reportinguser interface. The user interface includes a table including a groupcolumn (listing the group names), a group creator column (listing thename/identifier of the user that created the group), and a groupcreation date column. The user may select a group and in response thegroup detail example user interface illustrated in FIG. 7F may bepresented. A message control is provided in association with each group,which when activated causes a chat interface to be presented. The chatinterface may be used to communicate with all members of the group atonce (or individual group members). For example, the chat interface maybe used to transmit content requests or comments on submitted content,in real time, to group members. A filter control is provided whichenables the user to filter the displayed data to all contributors,disabled contributors, and/or liked contributors. A group creationcontrol is provided via which the user can define groups and assigngroup members to groups. Links are provided to user interfaces via whichthe user can cause invitations to be sent to users to join a specifiedgroup and via which users can be managed. A search user interface isprovided via which a user can enter a search query as similarlydiscussed elsewhere herein.

FIG. 7F illustrates an example group detail user interface. Theillustrated user interface includes a group member column (listing thenames/identifiers of group members), a like control column (includinglike controls via which a user can provide a like indication for a givengroup member), a responses column (indicating how may responses thegroup member has provided in response to content requests), a sharescolumn (indicating the number of content shares for the group member), alast sent (indicating the date a content item was last submitted by thegroup member or the date when the group member last submitted an item ofcontent). A view filter is provided via which the user can filter thegroup members listed (e.g., all group member contributors, the top 10contributors, the 10 contributors that have most recently submittedcontent, etc.). Batch action controls are provided for requestingcontent, sharing content, and transmitting messages. A control isprovided via which the user can add members to the group or deletemembers from the group. A group delete control is provided via which theuser can delete the group.

FIG. 7G illustrates an example gallery sharing user interface via whichthe user can select individual users with whom a selected gallery is tobe shared. An indicator may be provided reporting the number of usersselected. A similar interface may be provided in response to the useractivating a group control via which the user can select groups withwhom a selected gallery is to be shared. The user or group sharing userinterface may be presented as a pop-up overlaying the gallery libraryinterface (which displays content galleries) in response to the userselecting a share gallery control for a given gallery.

In response to the user selecting a content item (e.g., a still or videoimage) in a gallery, the example content view user interface illustratedin FIG. 7H may be presented. In this example, the content item, thename/identifier of the contributing user, the date of the image creationof submission, and a rating (e.g., provided by a gallery administratoror other authorized user) are displayed. Fields are provided via whichan authorized user may enter a content title and notes (e.g., textnotes). In response to activation of a save control, the title and notesmay be saved as metadata in association with the content item. Controlsare provided via which the user can navigate to a new or previouscontent item. The total number of content items in the gallery may bedisplayed, with a number indicating the position of the current contentitem (e.g., 1 of 217 content items).

FIG. 7I illustrates an example gallery view of gallery contentspresented in response to a user selection of a gallery via the gallerylibrary user interface. The example user interface is configured to bedisplayed on a mobile device display (e.g., a smart phone or tabletdisplay). The user interface indicates the gallery name, with a dropdownmenu that enables a user to filter the content items displayed based onsubject metadata associated with the content items. (e.g., people, cats,dogs). A person icon indicates how many users are part of the gallerycommunity. A camera icon is provided, which when activated, causes aviewfinder with a shutter control to be presented, presenting a viewfrom the user device camera. The user may activate a shutter in order tocapture a photograph or video, which may then be uploaded or assigned toa gallery.

FIG. 7J illustrates a user interface presenting a content item selectedvia the user interface of FIG. 7I. The content item is presented inassociation with the name and image of the user that contributed thecontent item. A share control is provided, which when activated, enablesthe user to share the content item via SMS, email, one or more socialnetwork platforms or other content sharing platforms, or otherwise.

Thus, an aspect of the present disclosure relates to systems andprocesses that enable users to securely share information and contentover a network. Such shared information and content may be instantlydistributed over one or more distribution channels and platforms to oneor more user devices. The content may also be securely stored in arepository.

Certain embodiments may be implemented via hardware, software stored onmedia, or a combination of hardware and software. For example, certainembodiments may include software/program instructions/modules stored ontangible, non-transitory computer-readable medium (e.g., magneticmemory/discs, optical memory/discs, RAM, ROM, FLASH memory, othersemiconductor memory, etc.), accessible by one or more computing devicesconfigured to execute the software (e.g., servers or other computingdevice including one or more processors, wired and/or wireless networkinterfaces (e.g., cellular, Wi-Fi, Bluetooth, T1, DSL, cable, optical,or other interface(s) which may be coupled to the Internet), contentdatabases, customer account databases, etc.). Data stores (e.g.,comprising databases) may be used to store some or all of theinformation discussed herein in memory.

By way of example, a given computing device may optionally include userinterface devices, such as some or all of the following: one or moredisplays, keyboards, touch screens, speakers, microphones, mice, trackballs, touch pads, tilt sensors, accelerometers, biometric sensors(e.g., fingerprint or face recognition sensors for authenticating auser) printers, etc. The computing device may optionally include a mediaread/write device, such as a CD, DVD, Blu-ray, tape, magnetic disc,semiconductor memory, or other optical, magnetic, and/or solid statemedia device. A computing device, such as a user terminal, may be in theform of a general purpose computer, a personal computer, a laptop, atablet computer, a mobile or stationary telephone, an interactivetelevision, a set top box coupled to a display, etc. Certain embodimentsmay be able to conduct hundreds (or more) of transactions and processesdescribed herein within a second.

While certain embodiments may be illustrated or discussed as havingcertain example components, additional, fewer, or different componentsmay be used. Processes described as being performed by a given systemmay be performed by a user terminal or other system or systems.Processes described as being performed by a user terminal may beperformed by another system. Data described as being accessed from agiven source may be stored by and accessed from other sources.Transmissions described herein may be via a wired and/or wirelessnetwork or other communications link. Further, with respect to theprocesses discussed herein, various states may be performed in adifferent order, not all states are required to be reached, and fewer,additional, or different states may be utilized.

User interfaces described herein are optionally presented (and userinstructions may be received) via a user computing device using abrowser, other network resource viewer, or otherwise. For example, theuser interfaces may be presented (and user optionally instructionsreceived) via an application (sometimes referred to as an “app”), suchas a dedicated app configured specifically for social networking and/orcommunications activities, installed on the user's mobile phone, laptop,pad, desktop, television, set top box, phone, or other terminal. Forexample, an app may be downloaded to a user mobile device, such as asmart phone. Various features described or illustrated as being presentin different embodiments or user interfaces may be combined into thesame embodiment or user interface.

Various aspects and advantages of the embodiments have been describedwhere appropriate. It is to be understood that not necessarily all suchaspects or advantages may be achieved in accordance with any particularembodiment. Thus, for example, it should be recognized that the variousembodiments may be carried out in a manner that achieves or optimizesone advantage or group of advantages as taught herein withoutnecessarily achieving other aspects or advantages as may be taught orsuggested herein. Further, embodiments may include several novelfeatures, no single one of which is solely responsible for theembodiment's desirable attributes or which is essential to practicingthe systems, devices, methods, and techniques described herein. Inaddition, various features of different embodiments may be combined toform still further embodiments. For example, aspects found in differentuser interfaces may be combined to form still further user interface.

What is claimed is:
 1. Non-transitory storage media having storedthereon executable program instructions configured to direct a computersystem to perform operations comprising: receive an invitation to join afirst content sharing group; detect an action of a user corresponding toacceptance of the invitation to join the first content sharing group; atleast partly in response to the detected user action corresponding toacceptance of the invitation to join the first content sharing group,cause an acceptance indication to be transmitted to a remote system; inresponse to at least one communication from the remote system, cause afirst content gallery comprising a gallery of images to be instantiatedon the computer system; enable a thumbnail of an image included in thefirst content gallery instantiated on the computer system in response toat least one communication from the remote system to be rendered as arepresentation of the first content gallery, wherein user selection ofthe thumbnail causes images included in the first content gallery to bedisplayed; enable a number to be rendered in association with thethumbnail of an image included in the first content gallery rendered asa representation of the first content gallery, the number correspondingto a quantity of content items included in the first content gallery;receive a new content item in association with an indication that thenew content item is associated with the first content gallery; enable anupdated number to be rendered in association with the thumbnail of animage included in the first content gallery rendered as a representationof the first content gallery, the updated number reflecting theassociation of the new content item with the first content gallery;receive a user selection of the representation of the first contentgallery; in response to the user selection of the thumbnail of an imageincluded in the first content gallery, comprising the associated newcontent item, rendered as a representation of the first content gallery,cause at least a portion of the content items associated with the firstcontent gallery to be rendered; receive a content request comprisingtext from the remote system; cause the content request comprising textfrom the remote system to be rendered; receive a user provided contentitem, wherein the user provided content item is provided in response tothe rendered content request comprising text; and cause the userprovided content item to be transmitted in association with anidentification of the rendered content request.
 2. The non-transitorystorage media as defined in claim 1, wherein the program instructionsare further configured to direct the computer system to render a userinterface comprising a plurality of controls enabling the user to shareat least one content item with respective content sharing platforms, thecontent sharing platforms comprising at least an image sharing platformand a social networking platform.
 3. The non-transitory storage media asdefined in claim 1, wherein the program instructions are furtherconfigured to direct the computer system to: provide a user interfacecomprising a plurality of controls enabling the user to share at leastone content item with respective content sharing platforms; detect auser share of at least one content item via one or more of the contentsharing platforms; and transmit a message to the remote systemindicating what content items were shared and the content sharingplatforms with which the content items were shared with.
 4. Thenon-transitory storage media as defined in claim 1, wherein the programinstructions are further configured to direct the computer system to:render a search user interface; receive, via the search user interface,one or more search terms; provide the one or more search terms to asearch engine, the search engine configured to identify correspondingcontent item galleries, content items, and/or content item contributors;receive search results from the search engine, the search resultscomprising the identified corresponding content item galleries, contentitems, and/or content item contributors; and cause the search results tobe rendered.
 5. The non-transitory storage media as defined in claim 1,wherein the program instructions are further configured to direct thecomputer system to: render a content item editing user interface, thecontent item editing user interface comprising editing tools enabling:content cropping, content color correction, content rotation, adding ofa graphic stamp to content, associating metadata with content.
 6. Thenon-transitory storage media as defined in claim 1, wherein contentitems associated with the first content gallery comprises both stillimages and video images.
 7. The non-transitory storage media as definedin claim 1, wherein detecting the user action corresponding toacceptance of the invitation to join the first content sharing groupcomprises receiving a first alphanumeric code.
 8. A computer implementedmethod comprising: receiving, over a wireless network at a first userdevice, a communication regarding a first content sharing group;detecting, using a content sharing application installed on the firstuser device, an action of a user with respect to the communicationregarding the first content sharing group; at least partly in responseto the detected user action with respect to the communication regardingthe first content sharing group, causing, by the content sharingapplication, an acceptance indication to be transmitted to a remotesystem; in response to a communication from the remote system, causing afirst content gallery comprising images, using the content sharingapplication installed on the first user device, to be instantiated onthe first user device; enabling, using the content sharing applicationinstalled on the first user device, a version of an image included inthe first content gallery to be rendered as a representation of thefirst content gallery, wherein user selection of the version of theimage causes images included in the first content gallery to bedisplayed; enabling, using the content sharing application installed onthe first user device, a quantity indicator to be rendered inassociation with the version of an image included in the first contentgallery rendered as a representation of the first content gallery, thequantity indicator corresponding to a quantity of content items includedin the first content gallery; receiving, using the content sharingapplication installed on the first user device, a new content item inassociation with an indication that the new content item is associatedwith the first content gallery; enabling, using the content sharingapplication installed on the first user device, an updated quantityindicator to be rendered in association with the version of an imageincluded in the first content gallery rendered as a representation ofthe first content gallery, the updated quantity indicator reflecting theassociation of the new content item with the first content gallery;receiving, using the content sharing application installed on the firstuser device, a user selection of the version of an image included in thefirst content gallery rendered as a representation of the first contentgallery; in response to the user selection of the version of an imageincluded in the first content gallery rendered as a representation ofthe first content gallery associated with the new content item, causingcontent items associated with the first content gallery to be rendered;receiving, using the content sharing application installed on the firstuser device, a content request comprising text from the remote system;causing, using the content sharing application installed on the firstuser device, the content request comprising text from the remote systemto be rendered; receiving, using the content sharing applicationinstalled on the first user device, a user provided content item,wherein the user provided content item is provided in response to therendered content request comprising text; and causing, using the contentsharing application installed on the first user device, the userprovided content item to be transmitted in association with anidentification of the content request.
 9. The computer implementedmethod as defined in claim 8, the method further comprising rendering auser interface comprising a plurality of controls enabling the user toshare at least one content item with respective content sharingplatforms, the content sharing platforms comprising at least an imagesharing platform and a social networking platform.
 10. The computerimplemented method as defined in claim 8, the method further comprising:providing a user interface comprising a plurality of controls enablingthe user to share at least one content item with respective contentsharing platforms; detecting a user share of at least one content itemvia one or more of the content sharing platforms; and transmitting amessage to the remote system indicating what content items were sharedand the content sharing platforms with which the content items wereshared with.
 11. The computer implemented method as defined in claim 8,the method further comprising: rendering a search user interface;receiving, via the search user interface, one or more search terms;providing the one or more search terms to a search engine, the searchengine configured to identify corresponding content item galleries,content items, and/or content item contributors; receiving searchresults from the search engine, the search results comprising theidentified corresponding content item galleries, content items, and/orcontent item contributors; and causing the search results to berendered.
 12. The computer implemented method as defined in claim 8, themethod further comprising: rendering a content item editing userinterface, the content item editing user interface comprising editingtools enabling: content cropping, content color correction, contentrotation, adding of a graphic stamp to content, associating metadatawith content.
 13. The computer implemented method as defined in claim 8,wherein content items associated with the first content gallerycomprises both still images and video images.
 14. The computerimplemented method as defined in claim 8, wherein detecting the useraction corresponding with respect to the communication regarding thefirst content sharing group comprises receiving a first alphanumericcode.
 15. A system, the system comprising: a computer system comprisingone or more computing devices; a network interface; and a computerstorage system comprising a non-transitory storage device, said computerstorage system having stored thereon executable program instructionsthat direct the computer system to at least: receive, a communicationregarding a first content sharing group; detect an action of a user withrespect to the communication regarding the first content sharing group;at least partly in response to the detected user action with respect tothe communication regarding the first content sharing group, cause anacceptance indication to be transmitted to a remote system; in responseto a communication from the remote system, cause a first content gallerycomprising images to be instantiated on a first user device; enable aversion of an image included in the first content gallery to be renderedas a representation of the first content gallery, wherein user selectionof the version of the image causes images included in the first contentgallery to be displayed; enable a quantity indicator to be rendered inassociation with the version of an image included in the first contentgallery rendered as a representation of the first content gallery, thequantity indicator corresponding to a quantity of content items includedin the first content gallery; receive a new content item in associationwith an indication that the new content item is associated with thefirst content gallery; enable using a content sharing applicationinstalled on the first user device, an updated quantity indicator to berendered in association with the version of an image included in thefirst content gallery rendered as a representation of the first contentgallery, the updated quantity indicator reflecting the association ofthe new content item with the first content gallery; receive a userselection of the version of an image included in the first contentgallery rendered as a representation of the first content gallery; inresponse to the user selection of the version of an image included inthe first content gallery rendered as a representation of the firstcontent gallery associated with the new content item, cause contentitems associated with the first content gallery to be rendered; receivea content request comprising text from the remote system; cause thecontent request comprising text from the remote system to be rendered;receive a user provided content item, wherein the user provided contentitem is provided in response to the rendered content request comprisingtext; and cause the user provided content item to be transmitted inassociation with an identification of the content request.
 16. Thesystem as defined in claim 15, the operations further comprisingrendering a user interface comprising a plurality of controls enablingthe user to share at least one content item with respective contentsharing platforms, the content sharing platforms comprising at least animage sharing platform and a social networking platform.
 17. The systemas defined in claim 15, the operations further comprising: providing auser interface comprising a plurality of controls enabling the user toshare at least one content item with respective content sharingplatforms; detecting a user share of at least one content item via oneor more of the content sharing platforms; and transmitting a message tothe remote system indicating what content items were shared and thecontent sharing platforms with which the content items were shared with.18. The system as defined in claim 15, the operations furthercomprising: rendering a search user interface; receiving, via the searchuser interface, one or more search terms; providing the one or moresearch terms to a search engine, the search engine configured toidentify corresponding content item galleries, content items, and/orcontent item contributors; receiving search results from the searchengine, the search results comprising the identified correspondingcontent item galleries, content items, and/or content item contributors;and causing the search results to be rendered.
 19. The system as definedin claim 15, the operations further comprising: render a content itemediting user interface, the content item editing user interfacecomprising editing tools enabling: content cropping, content colorcorrection, content rotation, adding of a graphic stamp to content,associating metadata with content.
 20. The system as defined in claim15, wherein content items associated with the first content gallerycomprises both still images and video images.